MCM Design is pleased to announce the completion of its 8KB hi-res Multi-Pager Test Demo package. In September 2019, MCM Design announced a design breakthrough with a new modified for hi-res Astrocade prototype. The prototype's hi-res screen RAM operates using only 4 static RAM (SRAM) chips, instead of the normal 32 DRAM chips. This breakthrough announcement is posted on the Bally Alley website.
 
https://ballyalley.com/documentation/hi-res_packages/hi-res_packages.html
Scroll down to "MCM Design Hi-Res Static Ram Announcement".

Each SRAM chip stores 32KB, providing a 4 chip total of 128KB of screen RAM. A variation of the Datamax UV-1R multi-pager was added to the new prototype allowing user selectable access of up to 8 pages of 16KB hi-res screen RAM, mapping 320 x 204 pixels per page.

The hi-res map is described in the Nutting Manual system description, pages 85 and 87. This manual is archived on the Bally Alley website.

The multi-pager includes a provision for an additional 8 pages (128KB) of screen RAM.

The 8KB Multi-Pager Test Demo package is detailed below.

Features:

The 8KB Test Demo resides as a cartridge ROM program at 2000-3FFFH.
All necessary hi-res routines reside within the test demo program package.
No user RAM above 8000H is required to run the package.
A standard low-res ROM (or custom 8KB ROM at 0000-1FFFH) is required only to jump to the test demo at 2000H.

A normal system reset executes in sequence the following:

1. Multi-pager 8 page flip test
2. A program which moves a critter around all 8 pages to erase each page's static graphics
3. Hi-res 7 color Fish Demo

This 3 part sequence can repeat nonstop.

An optional 4th program is executable by holding down any key in the right-most keypad column, while pressing the system reset button. This program allows a viewer to move a critter, using a hand controller at the #1 controller input, around within 3 connecting scenes (pages). The 3 scenes have simplified static graphics.

The hi-res Fish Demo can be run independently on a modified hi-res Astrocade with NO multi-pager by holding down any key in the left-most keypad column, while pressing the system reset button. The hi-res screen map must be compatible as described in the Nutting Manual mentioned above.

The vertical blanking line is dropped to the very bottom of the screen RAM area in all 8 pages so the viewer can observe a 98 byte program copied into page 7 plus observe the stack area being worked by the Z80 CPU in all 8 pages.

202 lines of the available 204 horizontal screen lines are utilized for screen graphics in all 8 pages.

Multi-Pager 8 Page Flip Test

The multi-pager's operation is tested to see if all 8 pages of graphics can be written to perfectly by visually watching for graphic errors while the pages are flipped automatically. All 8 pages are written with static graphics as indicated below.

Page                      Hi-Res Graphics Written

   0                           text introduction
                                with 17 lines of custom 7 x 9 pixel text characters

   1                           fill narrow vertical stripes on a split screen

   2                           end view of aquarium plus 15 magic write variations

   3                           fill narrow horizontal stripes on a split screen

   4                           10 color textured graphics pattern

   5                           fill narrow vertical plus horizontal stripes on a split screen

   6                           multi-pager title page
                                with custom enlarged text characters

   7                          custom hi-res screen shot variation of the game Gunfight

While the text intro is being displayed, the remaining 7 pages are written with static graphics as described above. The viewer is given nearly 60 seconds to read the 3 paragraph intro. There is an option to skip the intro by holding down any key on the keypad, which reduces the read delay time to about 5 seconds. Seven pages must be written first before the flip to page 1 will occur automatically.

There are 5 passes of page flipping. Each pass flips through the 8 pages faster. The 5th pass flips about 3 pages per second. An audio flip sound is output during each page flip. The multi-pager handles (selects) the page to flip by a simple output to the custom port 74H. After the 5 passes are completed, the next program in sequence is executed. 

Move Critter Within All 8 Pages

A 98 byte program is copied from the ROM cartridge program package to page 7 beginning at address 7F20H. This program in page 7 is then executed to move a critter around the screen in all 8 pages, to erase all or most of the static graphics. The program in page 7 utilizes subroutines within the test demo package.

This test program was created to see if the multi-pager could function perfectly, loading a machine language program into a specific page, then execute that program moving a graphic pattern around in all 8 pages. Special attention was necessary to point the Z80 CPU to a specific page, for any screen RAM writes or reads, by using the multi-pager's custom output port 75H. This attention included pointing to a specific page to work any Z80 stack areas, variables, flags and data blocks within a page's scratchpad area.

The critter's initial appearance location in each page is randomized to appear anywhere along the screen's X axis or Y axis.

After the critter is finished with the last page 7, the hi-res Fish Demo is then executed.

Hi-Res Fish Demo

Twelve fish using 5 fish types swim around the screen. One fish likes to linger along the sea bottom.

The initial locations of 11 fish are randomized. The fish lingering along the sea bottom likes to appear near the center top of the sea bottom.

A  ML routine was created to flop left a fish pattern facing right within the same pattern frame by adjusting the pattern frame's X coordinate. In this demo, bit 7 within a magic register value is used as a flag for a custom request to adjust the X coordinate for a flop. Bit 6 is the flag that actually requests a magic flop. Bit 7 in the magic register output port is not utilized by the Astrocade's magic hardware to request any specific magic function, so this bit is available for a programmer to flag the execution of a custom ML routine related to a magic function.

Two screen interrupt routines are used to provide 7 different colors. One of the screen interrupt routines also updates a hr:min:sec elapsed time clock (up to 9:59:59).

The elapsed time utilizes custom hi-res 7 x 9 pixel digits. A custom display time write subroutine was created to write the time digits (and colons) using an expanded plop with NO shifter byte cleared at the end of each digit line written. This may be the reason why the timer counts up with NO graphics flickering.

When the elapsed time reaches 2:00 minutes, the fish demo will execute a restart (jump) to 2000H to start over again the execution of the multi-pager test demo. This restart cycle will repeat nonstop.

The fish demo will run nonstop if any key on the keypad is pressed before the 2:00 minute restart time expires. An up arrow will be displayed to the right of the elapsed timer to indicate the fish demo nonstop mode was enabled. The fish demo runs in page 0.

This fish demo utilizes an expanded version of Andy Guevara's clever programming technique to move multiple fish around a screen using only one vector block in the RAM scratchpad. MCM Design expanded the same technique to include multiple types of fish.

Cycle Time

The cycle time from start to finish, executing the multi-pager flip test, moving a critter to erase static graphics in all 8 pages plus the 2:00 minute fish demo, is about 9 minutes. This cycle time includes the text intro 60 second read delay.

Final Note

Out of curiosity, MCM Design ran the Multi-Pager Test Demo on its original modified hi-res Astrocade, which utilizes the 32 chip DRAM scheme and has no multi-pager.

You can view a portion of the Multi-Pager Test Demo on a modified hi-res Astrocade having NO multi-pager. You will briefly see the normal text intro followed quickly by 7 variations of the remaining 7 page writes, ending with the Gunfight screenshot.

If you press a key or wait out the 60 second read delay, you will see the Gunfight screenshot going thru multiple color changes and you will hear the flip page sound with each change. The changes along with the flip sound will also speed up. Then the program will crash, sometimes forcing a system reset to occur. You do however get a really long look at the hi-res Gunfight screenshot going through multiple color changes, which is a pretty cool graphics variation. This screenshot has the best graphics of the 8 pages displayed normally.

So, whether or not a hi-res Astrocade has a multi-pager, you still get to see some pretty cool hi-res graphics with this 8KB hi-res package.

End Of MCM Design Announcement
June 2020